Hello, it is another Friday already, and one step closer to the double-digit temperatures of spring.
I have to admit that the Factorio development is slowed down these days, but it is not stopped because it just can't stop. Or is it because we can't stop? I guess that we have come too far to give up who we are.
Hello, we are still here, working on the game.
Hello, 3 days to go!
Hello, magical edition of Friday Facts doesn't bring The Answer to the Ultimate Question of Life, the Universe, and Everything, but it does bring news from our studio and development efforts. Kovarex came back from Greece for couple of days before going on another vacation - a small Go camp in Czech republic. Me and Albert we took the opportunity of beatiful weather on Sunday and did a trip to Hazmburk castle ruins not far from Prague. On our way back we stopped at my parents' summer house for relax and loads of home grown fruits :D Oddly enough the following next two paragraphs have the same titles as in the last edition of Friday Facts :)
We are aware that we don't add so much content to Factorio these days. The reason we always state is that we are focusing on polishing and finishing the game. There are a lot of little things and details (some call it quality of life improvements), that don't look that awesome when reviewed one by one, but once they accumulate together they should make a big difference in the game experience. I'm going to talk about some of them now, but don't be afraid that we won't add anything new in the 0.16, as the work on the artillery train has already started and it is probably going to be epic :).
Hello, Albert is back this week, and has resumed his work on the liquid wagon and associated accessories, as well as offering his guidance to some visual related programming tasks. Kuba and Honza are also both back from their respective holidays, and overall the office is feeling much more full than last week.
Hello, We know you love to blow things up, and the Space Age expansion will be bringing ever more advanced and powerful ways of bearing arms against your enemies.
Further optimisations I finished the item stack optimisations mentioned in FFF-198, and was able to do some performance tests. First I tested how many stacks on a big map actually need to use an externally allocated object (Item), and how many of them are plain. On the huge map I tested, it turned out that only 36K out of 1M stacks need the Item object. These were mainly science packs, as they need it for the progress of how used-up they are (and now when I think about it, it could also be omitted by only using the objects for science packs that are partially used up already). Overall factory performance was increased approximately 2% by this. It is nothing huge, but every bit matters. One of the programmer that has read access to the code (Zulan), came up with a pull request that improves performance in Factorio by prefetching memory in the update loops ahead. The problem when normally updating objects is, that CPU asks for memory representing the object. The memory is slow, at least compared to the CPU cache or the CPU speed. The memory transfer speed itself is not that slow, but the waiting (latency) time between ordering and receiving it is. This means, that what very often happens is, that CPU orders data of next entity from the memory, then it waits for quite a long time to get it, and then it does its logic. The memory prefetching partially solves it by doing this: Order data of the next entity from memory (prefetch) Do the logic of the current entity in the meantime Go back to start The overall measured performance improvements vary between 9-12%, which is certainly a nice addition.